package Controleur;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import Vue.AjoutStation;

/**
 * Définit l'écouteur de touche d'ajout d'une station
 */
public class AjoutStationKeyListener implements KeyListener {

	/** La vue de l'ajout d'une station */
	private AjoutStation ajStation;

	/**
	 * Instancie l'écouteur
	 * 
	 * @param p_ajStation
	 *            La vue de l'ajout d'une station
	 */
	public AjoutStationKeyListener(AjoutStation p_ajStation) {
		this.ajStation = p_ajStation;
	}

	/**
	 * Evenement de l'appui sur une touche
	 * 
	 * @param arg0
	 *            l'objet evenement
	 */
	@Override
	public void keyPressed(KeyEvent arg0) {
		// TODO Auto-generated method stub
		ajoutStation_estValide();
	}

	/**
	 * Evenement de la relache d'une touche
	 * 
	 * @param arg0
	 *            l'objet evenement
	 */
	@Override
	public void keyReleased(KeyEvent arg0) {
		// TODO Auto-generated method stub
		ajoutStation_estValide();
	}

	/**
	 * Evenement de l'appui relaché d'une touche
	 * 
	 * @param arg0
	 *            l'objet evenement
	 */
	@Override
	public void keyTyped(KeyEvent arg0) {
		// TODO Auto-generated method stub
		ajoutStation_estValide();
	}

	/**
	 * Validation des champs de l'ajout d'une station
	 */
	public void ajoutStation_estValide() {
		if (ajStation.getField_NomStation().getText().isEmpty()
				|| ajStation.getField_NbMaxVelo().getText().isEmpty()
				|| ajStation.getField_X().getText().isEmpty()
				|| ajStation.getField_Y().getText().isEmpty()) {
			ajStation.getLblToutesLesDonnes().setForeground(ajStation.getRed());
			ajStation.getLblToutesLesDonnes().setText(
					"Toutes les donn\u00E9es ne sont pas bien remplies.");
			ajStation.getBtnValider().setEnabled(false);

		} else {
			ajStation.getLblToutesLesDonnes().setForeground(
					ajStation.getGreen());
			ajStation.getLblToutesLesDonnes().setText("Données correctes.");
			ajStation.getBtnValider().setEnabled(true);
		}
	}

}
